#ifndef SPINBOXDELEGATE_H
#define SPINBOXDELEGATE_H


#include "cs8doublespinbox.h"

#include <QItemDelegate>
#include <QModelIndex>
#include <QObject>
#include <QSize>
//#include <QSpinBox>

class SpinBoxDelegate : public QItemDelegate
{
    Q_OBJECT

public:
    SpinBoxDelegate(QObject *parent = 0, int decimals=0, bool withCurrency=false);

    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
                          const QModelIndex &index) const;

    void setEditorData(QWidget *editor, const QModelIndex &index) const;
    void setModelData(QWidget *editor, QAbstractItemModel *model,
                      const QModelIndex &index) const;

    void updateEditorGeometry(QWidget *editor,
                              const QStyleOptionViewItem &option, const QModelIndex &index) const;

protected slots:
    void slotKeyPressed(int key);

private:
    int m_decimals;
    bool m_withCurrency;
};

#endif // SPINBOXDELEGATE_H
